package com.pencilisland.pay.api.bean.wxpay;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="xml")
public class WxpayOrderReq {
	/**
	 * 应用ID
	 */
	@XmlElement(name = "appid", required = true)
	private String appId;
	/**
	 * 商户号
	 */
	@XmlElement(name = "mch_id", required = true)
	private String mchId;
	/**
	 * 设备号
	 */
	@XmlElement(name = "device_info")
	private String deviceInfo;
	/**
	 * 随机字符串
	 */
	@XmlElement(name = "nonce_str", required = true)
	private String nonceStr;
	/**
	 * 签名
	 */
	@XmlElement(name = "sign", required = true)
	private String sign;
	/**
	 * 签名类型
	 */
	@XmlElement(name = "sign_type")
	private String signType;
	/**
	 * 商品描述
	 */
	@XmlElement(name = "body", required = true)
	private String body;
	/**
	 * 商品详情
	 */
	@XmlElement(name = "detail")
	private String detail;
	/**
	 * 附加数据
	 */
	@XmlElement(name = "attach")
	private String attach;
	/**
	 * 商户订单号
	 */
	@XmlElement(name = "out_trade_no", required = true)
	private String outTradeNo;
	/**
	 * 货币类型
	 */
	@XmlElement(name = "fee_type")
	private String feeType;
	/**
	 * 总金额
	 */
	@XmlElement(name = "total_fee", required = true)
	private Integer totalFee;
	/**
	 * 终端IP
	 */
	@XmlElement(name = "spbill_create_ip", required = true)
	private String spbillCreateIp;
	/**
	 * 交易起始时间
	 */
	@XmlElement(name = "time_start")
	private String timeStart;
	/**
	 * 交易结束时间
	 */
	@XmlElement(name = "time_expire")
	private String timeExpire;
	/**
	 * 商品标记
	 */
	@XmlElement(name = "goods_tag")
	private String goodsTag;
	/**
	 * 通知地址
	 */
	@XmlElement(name = "notify_url", required = true)
	private String notifyUrl;
	/**
	 * 交易类型
	 */
	@XmlElement(name = "trade_type", required = true)
	private String tradeType;
	/**
	 * 指定支付方式
	 */
	@XmlElement(name = "limit_pay")
	private String limitPay;
	/**
	 * 用户在商户appid下的唯一标识
	 */
	@XmlElement(name = "openid")
	private String openId;

	public String getAppId() {
		return appId;
	}

	public void setAppId(String appId) {
		this.appId = appId;
	}

	public String getMchId() {
		return mchId;
	}

	public void setMchId(String mchId) {
		this.mchId = mchId;
	}

	public String getDeviceInfo() {
		return deviceInfo;
	}

	public void setDeviceInfo(String deviceInfo) {
		this.deviceInfo = deviceInfo;
	}

	public String getNonceStr() {
		return nonceStr;
	}

	public void setNonceStr(String nonceStr) {
		this.nonceStr = nonceStr;
	}

	public String getSign() {
		return sign;
	}

	public void setSign(String sign) {
		this.sign = sign;
	}

	public String getSignType() {
		return signType;
	}

	public void setSignType(String signType) {
		this.signType = signType;
	}

	public String getBody() {
		return body;
	}

	public void setBody(String body) {
		this.body = body;
	}

	public String getDetail() {
		return detail;
	}

	public void setDetail(String detail) {
		this.detail = detail;
	}

	public String getAttach() {
		return attach;
	}

	public void setAttach(String attach) {
		this.attach = attach;
	}

	public String getOutTradeNo() {
		return outTradeNo;
	}

	public void setOutTradeNo(String outTradeNo) {
		this.outTradeNo = outTradeNo;
	}

	public String getFeeType() {
		return feeType;
	}

	public void setFeeType(String feeType) {
		this.feeType = feeType;
	}

	public Integer getTotalFee() {
		return totalFee;
	}

	public void setTotalFee(Integer totalFee) {
		this.totalFee = totalFee;
	}

	public String getSpbillCreateIp() {
		return spbillCreateIp;
	}

	public void setSpbillCreateIp(String spbillCreateIp) {
		this.spbillCreateIp = spbillCreateIp;
	}

	public String getTimeStart() {
		return timeStart;
	}

	public void setTimeStart(String timeStart) {
		this.timeStart = timeStart;
	}

	public String getTimeExpire() {
		return timeExpire;
	}

	public void setTimeExpire(String timeExpire) {
		this.timeExpire = timeExpire;
	}

	public String getGoodsTag() {
		return goodsTag;
	}

	public void setGoodsTag(String goodsTag) {
		this.goodsTag = goodsTag;
	}

	public String getNotifyUrl() {
		return notifyUrl;
	}

	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}

	public String getTradeType() {
		return tradeType;
	}

	public void setTradeType(String tradeType) {
		this.tradeType = tradeType;
	}

	public String getLimitPay() {
		return limitPay;
	}

	public void setLimitPay(String limitPay) {
		this.limitPay = limitPay;
	}

	public String getOpenId() {
		return openId;
	}

	public void setOpenId(String openId) {
		this.openId = openId;
	}

}
